package com.movie.mapper;

import com.movie.entity.Movie;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;

@Mapper
public interface MovieMapper {
    // 根据 ID 查找影片
    Movie findById(@Param("id") Long id);

    // 插入新影片
    int insert(Movie movie);

    // 更新影片信息
    int update(Movie movie);

    // 根据 ID 删除影片
    int deleteById(@Param("id") Long id);

    // 查询所有影片
    List<Movie> findAll();

    // 查询特定状态的影片 (例如: "正在热映", "即将上映")
    List<Movie> findByStatus(@Param("status") String status);

    // 根据条件搜索影片
    List<Movie> search(@Param("title") String title, 
                       @Param("director") String director, 
                       @Param("status") String status);

    // 删除所有电影
    int deleteAll();

    // (可选) 分页查询所有影片
    // List<Movie> findAllPaged(@Param("offset") int offset, @Param("limit") int limit);

    // (可选) 统计影片总数
    // int count();
} 